package com.xixing.weixin.cmd;

import com.xixing.weixin.exception.WeixinExecuteException;
import com.xixing.weixin.domain.Weixin;
import com.xixing.weixin.response.Response;

/**
 * 执行器.
 */
public interface Executor {

    // 判断是否为该命令.
    boolean isCommand(String command);

    // 按参数执行.
    Response execute(Weixin weixin, Object args) throws WeixinExecuteException;

    // 错误参数的提示功能.
    Response help(Weixin weixin, Object args);

    // 解释参数，生成新参数.
    Object parseArgs(Weixin weixin, Object args) throws WeixinExecuteException;
}
